﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Classes
{
	public class InstalarEquipo
	{
		private Equipo _equipo;
		private DBEquipos _dbequipo;

		public InstalarEquipo (DBEquipos db) 
		{
			this._dbequipo = db;

			bool valido;
			string modelo;

			do
			{
				int nro;

				do
				{
					nro = 0;
					try
					{
						Console.Write("Ingrese Nro Equipo: ");
						nro = int.Parse(Console.ReadLine());
					}
					catch (Exception ex)
					{
						Console.Write(ex.Message);
					}
				}
				while (nro == 0);

				string marca;
				do
				{
					Console.Write("Ingrese Marca: ");
					marca = Console.ReadLine();
				}
				while (marca.Length == 0);


				do
				{
					Console.Write("Ingrese Modelo: ");
					modelo = Console.ReadLine();
				}
				while (modelo.Length == 0);

				this._equipo = new Equipo(nro, marca, modelo);

				valido = !this._dbequipo.GetEquipoList().Contains(this._equipo);//this._equipo.Validate();

				if (!valido)
				{
					Console.Write("Equipo Existente en la base");
					Console.ReadKey();
				}
			}
			while (!valido);

			//string patente;
			//this._bdautos = new DBVehiculos();
			//bool instalacionExitosa;

			//do
			//{
			//    Console.Write("Ingrese Patente del Auto a instalar el equipo: ");
			//    patente = Console.ReadLine();

			//    Vehiculo v;

			//    v = this._bdautos.GetVehiculo(patente);

			//    instalacionExitosa = !(v == null);

			//    if (!instalacionExitosa)
			//    {
			//        Console.WriteLine("Vehiculo inexistente");
			//    }

			//    instalacionExitosa = this._bdautos.GetEquipoVehiculoCompatibility(v, modelo);

			//    if (!instalacionExitosa)
			//    {
			//        Console.WriteLine("Equipo no compatible con vehiculo");
			//    }

			//}
			//while ((patente.Length == 0) || ((!instalacionExitosa)));

			//if (this._equipo.Guardar())
			//{
			//    Console.WriteLine("Equipo Guardado");
			//}

			//if (this._vehiculo.InstalarEquipo(this._equipo))
			//{
			//    Console.WriteLine("Equipo instalado en vehiculo");
			//}

		}

		public Equipo GetEquipoCreado()
		{
			return this._equipo;
		}
	}
}
